package com.ado.agea.validacion;

import java.math.BigDecimal;

public class Relacion {
	private Concepto conceptoInf;
	private BigDecimal cantidad;
	private BigDecimal factor;

	public double calcularPrecio() {
		BigDecimal precio = new BigDecimal(conceptoInf.calcularPrecio());
		
		 precio = precio.setScale(2, BigDecimal.ROUND_HALF_UP);
		 cantidad = cantidad.setScale(3, BigDecimal.ROUND_HALF_UP);
		 factor = factor.setScale(3, BigDecimal.ROUND_HALF_UP);
		 if(precio.longValue()!=0.0){
		System.out.printf(
				"%s CanPres: %f, PrPres: %f, Factor: %f ImpPres: %f\n",conceptoInf.getCodigo(),
				cantidad, precio, factor, (precio.multiply(cantidad).multiply(factor).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
		 }
		return precio.multiply(cantidad).multiply(factor).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
	}

	public Relacion(Concepto conceptoInf, double cantidad, double factor) {
		super();
		this.conceptoInf = conceptoInf;
		this.cantidad = new BigDecimal(cantidad);
		this.factor = new BigDecimal(factor);
	}

	public Concepto getConceptoInf() {
		return conceptoInf;
	}

	public void setConceptoInf(Concepto conceptoInf) {
		this.conceptoInf = conceptoInf;
	}

	public double getCantidad() {
		return cantidad.doubleValue();
	}

	public void setCantidad(double cantidad) {
		this.cantidad = new BigDecimal(cantidad);
	}

	public double getFactor() {
		return factor.doubleValue();
	}

	public void setFactor(double factor) {
		this.factor = new BigDecimal(factor);
	}

}
